<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Index extends Controller_Template {

	public $template = 'view';
	protected $session;
	protected $user;
		
	public function before()
	{
		// Инициализация сессий
		$this->session = Session::instance('native');

		if($this->session->get('logged_in', 0) === 0)
		{
			if($this->session->get('login', 0) === 0 OR !isset($_SERVER['PHP_AUTH_USER']))
			{
				header('WWW-Authenticate: Basic realm="'.__('OSMP Terminal Server').'"');
				header('HTTP/1.0 401 Unauthorized');
				
				if(isset($_SERVER['PHP_AUTH_USER']))
				{
					// Логин ввели и перебрасывать на проверку с БД
					$this->session->set('login', 1);
				}
				
				// Поазать страницу 404
				echo View::factory('noaccess')->set('title', 'Error 401');
				exit;
			}

			// Проверяем логин и пароль с задаными в каком то месте
			if( ! Model_Auth::check_user($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']))
			{
				// Требовать аутентификацию
				$this->session->set('login', 0);
				
				// И обращаемся обратно к этому методу, чтобы попытаться повторно авторизовать
				return $this->before();
			}
		}
		
		parent::before();
		
		// Set the language
		I18n::$lang = Request::instance()->param('lang');
	
		// Get current user from Session
		$this->user = $this->session->get('user');
		
		if ($this->auto_render)
		{
			$this->template->user = $this->user;
			$this->template->lang = Request::instance()->param('lang');
			
			// Initialize empty values
			$this->template->title = '';
			$this->template->styles = array();
			$this->template->scripts = array(); 
		}
	}
        
	public function action_index()
	{
		// тупо обращается к модели с названием payment
		$data = ORM::factory('payment')->get($this->template->user)->find_all();
		$this->template->data = $data;
		
		$this->template->styles = array(
			'public/css/style.css',
			'public/css/smoothness/jquery-ui.css',
		);
		$this->template->scripts = array(
			'public/js/jquery-1.4.2.min.js',
			'public/js/jquery-ui.min.js',
			'public/js/jquery-ui-i18n.js',
			'public/js/jquery-ui-timepicker.min.js'
		); 
	}
    
	public function action_logout()
	{
		$this->session->delete('logged_in');
		$this->session->destroy();
		$this->request->redirect('/');
	}
	
	public function after()
	{
	
		if ($this->auto_render)
		{
			$styles = array();
			$scripts = array();

			$this->template->styles = array_merge( $this->template->styles, $styles );
			$this->template->scripts = array_merge( $this->template->scripts, $scripts );
			
			$this->template->errors = Session::instance()->get_once('errors', array());
		}

		parent::after();
	}
	
}